<?php
/**
 * 
 * 主题基类
 * 主题和模板里只放控制界面的代码，如数据格式，页面布局，不要有业务代码， 更不要操作数据库 
 * 每个页面都需要的界面功能， 做进本类或主题里
 * 非必须的， 只在部分页面需要调用的界面功能做成  ui
 *
 */
class template
{
    protected $title = ''; // 标题
    

    protected $meta_keyword = ''; // meta
    protected $meta_description = '';
    
    protected $data = array(); // 数据
    

    protected $richtext = false; // 富文本编辑器是否已加载

    
    public function __construct()
    {
    }

    /**
     * 
     * 输出函数
     */
    public function display()
    {
        echo '这是一个 Mr Bone 模板';
    }

    /**
     * 
     * <head></head>头可加 js/css
     */
    protected function head()
    {
        return;
    }

    /**
     * 
     * <body></body>中间的部分 分为五个区:	north:项部, west:主体左部, center:主体中部, east:主体右部, south:底部
     */
    protected function body()
    {
        return;
    }

    /**
     * 
     * 项部
     */
    protected function north()
    {
        return;
    }

    /**
     * 
     * 主体 分为三个区:	west:主体左部, center:主体中部, east:主体右部
     */
    protected function middle()
    {
        return;
    }

    /**
     * 
     * 底部
     */
    protected function south()
    {
        return;
    }

    /**
     * 主体左中右三栏
     * west 为主体左部
     */
    protected function west()
    {
        return;
    }

    /**
     * 主体中部
     */
    protected function center()
    {
        return;
    }

    /**
     * 主体右部
     */
    protected function east()
    {
        return;
    }


    /**
     * 
     * 向模板中注入数据
     * @param string $name 名称
     * @param unknown_type $value 值
     */
    public function set($name, $value)
    {
        $this->data[$name] = $value;
    }

    /**
     * 
     * 取数据
     * @param string $name 名称
     */
    public function get($name)
    {
        if (isset($this->data[$name]))
            return $this->data[$name];
        else
            return null;
    }

    /**
     * 
     * 获取标题
     */
    public function get_title()
    {
        return $this->title;
    }

    /**
     * 
     * 设置标题
     * @param string $title
     */
    public function set_title($title)
    {
        $this->title = $title;
    }

    public function get_meta_keyword()
    {
        return $this->meta_keyword;
    }

    public function set_meta_keyword($meta_keyword)
    {
        $this->meta_keyword = $meta_keyword;
    }

    public function get_meta_description()
    {
        return $this->meta_description;
    }

    public function set_meta_description($meta_description)
    {
        $this->meta_description = $meta_description;
    }

    /**
     * 
     * 显示跳转过程中传递的信息
     */
    protected function message()
    {
        $message = $this->get('_message');
        if ($message !== null) echo '<div class="theme-message theme-message-' . $message->type . '">' . $message->body . '</div>';
    }

}

